<template>
	<div class="box">
		<div id="page" class="site">
			<div class="container">
				<div class="login">
					<div class="hero">
						<h1>欢迎&nbsp;&nbsp;&nbsp;管理员<br />Hello Admin</h1>
					</div>
					<div class="main">
						<!-- 登录表单 -->
						<form>
							<p>
								<input v-model="formData.userName" type="email" placeholder="邮箱" />
							</p>
							<p class="password">
								<input v-model="formData.passWord" type="password" placeholder="密码" />
								<i class="ri-eye-off-line"></i>
								<a href="#">找回密码</a>
							</p>
							<p>
								<input type="button" class="submit" value="登录" @click="handleLogin" />
							</p>
						</form>
						<!-- 第三方登录 -->
						<div class="options">
							<div class="separator">
								<p>使用其他方式登录</p>
							</div>
							<ul>
								<li>
									<a href="#"><i class="ri-qq-fill ri-2x"></i></a>
								</li>
								<li>
									<a href="#"><i class="ri-wechat-fill ri-2x"></i></a>
								</li>
							</ul>
						</div>
					</div>
				</div>
			</div>
		</div>
	</div>
</template>
<script setup>
import { useRouter } from "vue-router";
import { ref } from "vue";
import { ElMessage } from "element-plus";
import { loginApi } from "@/apis/login/index";
let formData = ref({
	userName: "",
	passWord: "",
});
const router = useRouter();

const handleLogin = async () => {
	const data = await loginApi(formData.value);
	// ElMessage.success(data.message);
};
</script>
<style scoped>
/*用中文替换原先英文字体*/
@import url("@/assets/login.css");

.box {
	--primary-color: #4460f1;
	--white-color: #ffffff;

	--light-text-color: #9398b3;
	--light-bg-color: #f2f4ff;
	--dark-color: #333333;

	--background-color: #fcfcff;
}

.box {
	font-family: "Noto Sans SC", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	color: var(--dark-color);
	background-color: var(--background-color);
	user-select: none;
	-webkit-user-drag: none;
}

a {
	text-decoration: none;
	color: inherit;
	-webkit-tap-highlight-color: transparent;
}

ul {
	list-style: none;
}

h1 {
	font-size: 3em;
	font-weight: 700;
	line-height: normal;
	color: black;
}

.site {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100vh;
}

.container {
	max-width: 1000px;
	width: 100%;
	padding: 0 30px;
	margin: 0 auto;
}

.login {
	display: flex;
	flex-wrap: wrap;
}

.hero {
	flex: 1 0 66.6666%;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 50px;
	padding: 70px 0;
}

.hero::before {
	content: "";
	position: absolute;
	top: 15%;
	left: 0;
	width: 280px;
	height: 100px;
	background: linear-gradient(to right, var(--primary-color), #c471ed, #f64f59);
	z-index: 1;
	filter: blur(70px);
}

.hero h1 {
	z-index: 1;
}

.hero a {
	font-weight: 500;
	color: var(--primary-color);
	transition: color 0.3s;
}

.hero a:hover,
form .password a:hover {
	color: var(--dark-color);
	text-decoration: underline;
}

.main {
	flex: 1 0 33.3333%;
}

.main form {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.main form p {
	position: relative;
}

form input {
	height: 60px;
	font: inherit;
	font-size: 15px;
	width: 100%;
	border: 0;
	outline: 0;
	padding: 0 20px;
	border-radius: 10px;
	/*修复input 加入padding之后大小变化的问题*/
	box-sizing: border-box;
}

input::placeholder {
	color: var(--dark-color);
	font-family: "Noto Sans SC", sans-serif;
	font-size: inherit;
}

form input:not(.submit) {
	background-color: var(--light-bg-color);
}

form .password i {
	position: absolute;
	top: calc(60px / 2);
	right: 20px;
	margin-top: -8px;
	line-height: 1;
	color: var(--light-text-color);
	cursor: pointer;
}

form .password a {
	font-size: 13px;
	color: var(--light-text-color);
	float: right;
	margin: 5px 20px 0 0;
}

form input.submit {
	font-weight: 700;
	color: var(--white-color);
	background-color: var(--primary-color);
	box-shadow: var(--primary-color) 0 20px 30px -10px;
	cursor: pointer;
	transition: box-shadow 0.3s;
}

form input.submit:hover {
	box-shadow: var(--primary-color) 0 10px 30px -10px;
}

.separator {
	position: relative;
	margin: 50px 0 30px;
}

.separator::before {
	content: "";
	position: absolute;
	top: 50%;
	width: 100%;
	height: 1px;
	background-color: var(--light-text-color);
	opacity: 0.3;
	z-index: 1;
}

.separator p {
	font-size: 14px;
	width: fit-content;
	padding: 0 10px;
	color: var(--light-text-color);
	background-color: var(--background-color);
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.options ul {
	display: flex;
	justify-content: center;
	gap: 20px;
}

.options ul li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 10px;
	background-color: var(--white-color);
	box-shadow: var(--light-text-color) 0 10px 20px -10px;
	transition: all 0.3s ease-out;
}

.options ul li a:hover {
	color: var(--white-color);
	box-shadow: none;
}

.options ul li:nth-child(1) a:hover {
	background-color: #171a21;
}

.options ul li:nth-child(2) a:hover {
	background-color: #00439c;
}

.options ul li:nth-child(3) a:hover {
	background-color: #107c10;
}
</style>
